package com.lzw.breezeNovel.WebAdmin.mapper;


import com.lzw.breezeNovel.model.entity.pojo.user.UserInfo;
import com.lzw.breezeNovel.model.entity.query.novel.NovelPage;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@SuppressWarnings("all")
@Mapper
public interface UserMapper {

    /**
     * 根据手机号查询用户
     * @param phone
     * @return
     */
    Long selectByPhone(@NotNull(message = "手机号码不能为空") @Pattern(regexp = "^1[3|4|5|6|7|8|9][0-9]\\d{8}$", message = "手机号码格式错误") String phone);

    /**
     * 新增用户
     * @param readUser
     */
    void insert(UserInfo readUser);

    /**
     * 获取所有的用户信息
     * @return
     */
    Long selectCount();

    /**
     * 分页查询用户信息
     *
     * @param simplePage
     * @return
     */
    List<UserInfo> selectByPage(NovelPage page);

    /**
     * 修改用户
     * @param readUser
     */
    void update(UserInfo readUser);

    /**
     * 删除用户
     * @param readUser
     */
    void delete(UserInfo readUser);

    /**
     * 批量删除用户
     * @param ids
     */
    void deleteBatch(Long[] ids);
}
